package Controller.FornecedorController;

import javax.swing.JOptionPane;

import DAO.FornecedorDAO;
import Entidade.Fornecedor;
import Model.FornecedorModel.FornecedorConsultaModel;
import View.FornecedorView.FornecedorView;
import framework.mvc.GenericController;

public class FornecedorConsultaController extends GenericController<Fornecedor> {
	public FornecedorConsultaController() {
		super(new FornecedorConsultaModel(), new FornecedorDAO());
	}

	public void novo() {
		FornecedorView fornecedorview = new FornecedorView();
		fornecedorview.abrir();
		view.atualizarView();
	}

	public void alterar() {
		view.atualizarModel();
		Fornecedor FornecedorSelecionado = ((FornecedorConsultaModel) model)
				.getFornecedorSelecionado();
		if (FornecedorSelecionado == null) {
			JOptionPane.showMessageDialog(null,
					"Selecione o contato que deseja alterar", "Erro",
					JOptionPane.ERROR_MESSAGE);

		} else {
			FornecedorView fornecedorView = new FornecedorView();
			fornecedorView.getModel().setEntidade(FornecedorSelecionado);
			fornecedorView.atualizarView();
			fornecedorView.abrir();
			view.atualizarView();
		}
	}

	public void excluir() {
		view.atualizarModel();
		Fornecedor fornecedorSelecionado = ((FornecedorConsultaModel) model)
				.getFornecedorSelecionado();
		if (fornecedorSelecionado == null) {
			JOptionPane.showMessageDialog(null,
					"Selecione o contato que deseja excluir", "Erro",
					JOptionPane.ERROR_MESSAGE);
		} else {
			if (JOptionPane.showConfirmDialog(null,
					"Deseja realmente excluir este fornecedor?") == JOptionPane.YES_OPTION) {
				getDao().excluir(fornecedorSelecionado);
				view.atualizarView();
			}
		}
	}

	public void fechar() {
		view.dispose();
	}
}
